home *** CD-ROM | disk | FTP | other *** search
/ Softwarová Záchrana 3 / Softwarova-zachrana-3.bin / Xteq X-Setup / xqdcXSP-Setup-EN.exe / {app} / plugins / XQ CD AutoStart Options 2.xpl < prev    next >
Text File  |  2003-08-01  |  4KB  |  134 lines

  1. "FILE"="Xteq Systems X-Setup Plugin 6.0"
  2. "TYPE"="6"
  3. "COUNT"="4"
  4. "UIPATH"="System\AutoPlay\Data CDs Options"
  5. "NAME"="Autoplay Data CDs"
  6. "VERSION"="2.09"
  7. "LANGUAGE"="VBScript"
  8. "OSVERSION"="11111"
  9. "TEXT 1"="Allow autostart for CD-ROMs (normal)"
  10. "TEXT 2"="Allow autostart for removable drives (diskettes, ZIP)"
  11. "TEXT 3"="Allow autostart for fixed drives (HD)"
  12. "TEXT 4"="Allow autostart for network drives"
  13. "DESCRIPTION 1"="If you normally insert a CD in your CD-ROM-drive, Windows starts a program using the file AUTORUN.INF (AutoPlay)."
  14. "DESCRIPTION 2"="If you do not like this behavior, or want to enable this behavior for other drives also, you can do it here."
  15. "DESCRIPTION 3"="IMPORTANT: If you activate AutoRun for removable devices or network drives, Windows will check these drives every time you open the Explorer or a file requester in an application. Because this check takes some time, this behavior can be really annoying. Please keep this in mind."
  16. "AUTHOR"="Xteq Systems"
  17. "CONTACTURL"="http://www.xteq.com"
  18. "COPYRIGHT"="Copyright ⌐ Xteq Systems - All Rights Reserved"
  19. "COMMENT 1"="This was a hell lot of work!" 
  20. "COMMENT 2"="Special thanks to Tony Caine (72614.1451@compuserve.com) who has helped us a lot with this plug-in. Also thanks to Guy (dr_teeth@bigfoot.com)."
  21. "COMMENT 3"="Thanks to Sander Goudswaard [sander@goudswaard.cx] for the "...START vs ...RUN" notice!"
  22. "COMMENT 4"="Thanks to totalXS for his help!"
  23. "COMMENT 5"="Thanks to Matthias Mei▀er [digi_c@web.de] for pointing us to the Windows XP = REG_DWORD bug!"
  24.  
  25.  
  26.  
  27. 'What about this key?
  28. 'HKLM\System\CurrentControlSet\Services\Cdrom\Autorun
  29.  
  30. 'Declaration of some constants
  31. DRIVE_UNKNOWN=1   'Bit 0
  32. DRIVE_NO_ROOT=2   'Bit 1
  33. DRIVE_REMOVABLE=4 'Bit 2 
  34. DRIVE_FIXED=8     'Bit 3 
  35. DRIVE_REMOTE=16   'Bit 4 
  36. DRIVE_CDROM=32    'Bit 5 
  37. DRIVE_RAMDISK=64  'Bit 6 
  38. DRIVE_FUTURE=128  'Bit 7 
  39.  
  40. sPathValue="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun"
  41.  
  42. 'Called when the Plugin is started
  43. SUB Plugin_Initialize
  44.  s=RegReadValue(sPathValue)
  45.  
  46.  dim i
  47.  if len(s)>1 then
  48.     s=left(s,2)
  49.     i=s
  50.  else
  51.     i=CInt(0)
  52.  end if
  53.  
  54.  '//Convert the value to INT
  55.  s="&H" & i
  56.  i=CInt(s)
  57.  
  58.  
  59.  'TH: Looks stupid, I know! but there is no way to get OR working with variants!
  60.  'AK: JScript ||. Should work
  61.  
  62.  dim b1,b2,b3,b4,b5,b6,b7
  63.  i=OrHelper(i,DRIVE_FUTURE,b1)
  64.  i=OrHelper(i,DRIVE_RAMDISK,b2) 
  65.  i=OrHelper(i,DRIVE_CDROM,b3)
  66.  i=OrHelper(i,DRIVE_REMOTE,b4)
  67.  i=OrHelper(i,DRIVE_FIXED,b5)
  68.  i=OrHelper(i,DRIVE_REMOVABLE,b6)
  69.  i=OrHelper(i,DRIVE_NO_ROOT,b7)
  70.  
  71.  
  72.  '//If the bit is set, AutoRun is DISABLED
  73.  Call SetBox(b3,1)
  74.  Call SetBox(b6,2)
  75.  Call SetBox(b5,3)
  76.  Call SetBox(b4,4)
  77. END SUB
  78.  
  79. Function OrHelper(CurValue,CheckVal,CheckValSet)
  80.  i=CurValue
  81.  
  82.  if i>=CheckVal then
  83.     CheckValSet=true
  84.     i=i-CheckVal
  85.  else
  86.     CheckValSet=false
  87.  end if
  88.  
  89.  OrHelper=i
  90. End Function
  91.  
  92. Sub SetBox(CurVal,Elm)
  93.     if CurVal=true then
  94.        SetUIElement elm,false
  95.     else
  96.        SetUIElement elm,true
  97.     end if
  98. End Sub
  99.  
  100.  
  101. 'Called when the Plugin should validate the Data the user has entered
  102. SUB Plugin_CheckData(ElementIndex)
  103. END SUB
  104.  
  105. 'Called when the Plugin should apply the changes
  106. SUB Plugin_Apply(ElementIndex,ElementSubIndex)
  107.  i=0
  108.  
  109.  'Always disable autorun for the following drives 
  110.  'according to Q136214 from MS KB
  111.  i=i+DRIVE_UNKNOWN
  112.  i=i+DRIVE_FUTURE
  113.  '//Needed??? i=i+DRIVE_NO_ROOT
  114.  
  115.  
  116.  'No let's see what the user wants
  117.  if GetUIElement(1)=false then i=i+DRIVE_CDROM
  118.  if GetUIElement(2)=false then i=i+DRIVE_REMOVABLE
  119.  if GetUIElement(3)=false then i=i+DRIVE_FIXED
  120.  if GetUIElement(4)=false then i=i+DRIVE_REMOTE
  121.  
  122.  'Convert to HEX so XSET can write the value
  123.  Dim v
  124.  v=Hex(i) 
  125.  v=v & "000000"
  126.  
  127.  Call RegWriteValue(sPathValue,v,3)
  128.  Call Restart
  129. END SUB
  130.  
  131. 'Called when the Plugin is about to be removed from memory
  132. SUB Plugin_Terminate
  133. END SUB
  134.